package com.cctv.iseemini.controller;

import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;

/**
 * 异常处理的第一种方式：自定义错误页面src/main/resources/templates/error.html 替换默认的/error 优点简单方便 缺点颗粒度很粗 所有异常都跑这里来了
 * 异常处理的第二种方式：添加个方法并加上@ExceptionHandler注解 优点简单方便 缺点不能跨controller 且只能针对某一种异常 异常多了会造成代码冗余
 * 异常处理的第三种方式：@ControllerAdvice 注解 加上方法2 可以捕获全局异常 缺点一样代码冗余
 * @Author: cctv
 * @Date: 2019/5/31 17:19
 */
public class BaseController {

//    @ExceptionHandler(value={java.lang.ArithmeticException.class})
//    public ModelAndView arithmeticExceptionHandler(Exception e){
//        ModelAndView mv = new ModelAndView();
//        mv.addObject("error",e.toString());
//        mv.setViewName("error1");
//        System.out.println("我捕获到了算术异常");
//        return mv;
//    }
//
//    @ExceptionHandler(value={java.lang.NullPointerException.class})
//    public ModelAndView nullPointerExceptionHandler(Exception e){
//        ModelAndView mv = new ModelAndView();
//        mv.addObject("error",e.toString());
//        mv.setViewName("error1");
//        System.out.println("我捕获到了空指针异常");
//        return mv;
//    }
}
